package com.sqz.mybatisplus.demo.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sqz.mybatisplus.demo.mapper.MybatisPlusTestMapper;
import com.sqz.mybatisplus.demo.model.User;
import com.sqz.mybatisplus.demo.service.IMybatisPlusTestService;
import com.sqz.mybatisplus.demo.util.InstanceUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.Serializable;
import java.util.*;


/**
 * @author sqz
 * @Description: Mapper CRUD 接口 控制层
 * @date 2020/06/25
 */
@RestController
@RequestMapping(MapperInterfaceController.PATH)
@Slf4j
public class MapperInterfaceController {

    /***
     * 控制层信息
     */
    private static final String CONTENT = "Mapper层接口:";

    /***
     * 访问路径
     */
    public final static String PATH = "/mapper";

    @Autowired
    private MybatisPlusTestMapper mybatisPlusTestMapper;
    @Autowired
    private ServiceInterfaceController serviceInterfaceController;

    /**
     * Mapper层的 insert 方法
     */
    @GetMapping("/insert")
    public String insert() {
        //请参照 Service CRUD 接口 控制层中的 save 方法
        serviceInterfaceController.save();
        return "OK";
    }

    /**
     * Mapper层的 delete 方法
     */
    @GetMapping("/delete")
    public String delete() {

        //请参照 Service CRUD 接口 控制层中的 remove 方法
        serviceInterfaceController.remove();

        return "OK";
    }

    /**
     * Mapper层的 update 方法
     */
    @GetMapping("/update")
    public String update() {
        //请参照 Service CRUD 接口 控制层中的 update 方法
        serviceInterfaceController.update();
        return "OK";
    }

    /**
     * Mapper层的 select 方法
     */
    @GetMapping("/select")
    public String select() {
        //请参照 Service CRUD 接口 控制层中的 get 方法 和 list 方法
        serviceInterfaceController.get();
        serviceInterfaceController.list();
        return "OK";
    }

}
